Graph plotter and replicator tool

ABSTRACT

A CAD graph plotter and replicator tool may deliver a fast, accurate, and dynamically adjustable CAD graph that can be updated easily in real time when new data is introduced or extant data is updated. Features like scaling, point marking, point addition, smoothening, display of grid lines, range control, and quadrant control may be included to aid the user in generating the graph efficiently. The tool may also enable the user to control line thickness, color, type, legends, and decimal points in axis, among other features.

FIELD

The present disclosure relates to an improved graphing tool.

BACKGROUND

Engineers often need to create graphs of data using a computer-aideddesign (CAD) tool. Producing a CAD graph from complex data is often donein anticipation of presentation for review by a business or managementgroup.

SUMMARY

Frequently, research that may produce data pertinent to such apresentation is ongoing up until the date of presentation and sometimesis still ongoing during the presentation period. Accordingly, as thepresentation period approaches, more data may be produced while extantdata is refined and manually translated to a CAD graph to be presented.This entering of new data and updating of extant data and manualtranslation to a CAD graph may require a wasteful amount ofapproximation and repetitious, tedious interaction with a CAD tool by askilled user. This is because existing CAD tools often lack responsive,dynamic graphing functions that would lessen the need for approximationor repetitive, duplicative actions of the CAD user. That is, the CADuser may need to peruse the underlying data of the graph and edit thecorrect data directly, and then redraw the CAD graph by manuallytranslating the data into a CAD graph by approximating a visualrepresentation of the underlying data.

Additionally, existing CAD tools produce graphs as images, and it isoften the case that a graph image is inherited or received by anengineering team without the underlying data from which the originalgraph was manually translated. If the underlying data of the inheritedor received graph is desired, the engineering team must either searchfor the underlying data, or attempt to reconstruct the underlying datafrom the inherited or received graph. This also creates an often tedioustask of manually surmising or estimating the underlying data set of theinherited or received graph which may have been approximately drawnbased on a lengthy and complex data set. Moreover, once this surmised orestimated data set is reconstructed from the inherited or receivedgraph, the surmised or estimated data set may need to be repetitiouslyupdated, added to, and translated to a CAD graph as described above.

Thus, the whole process of creating and updating a graph with existingCAD tools often requires a large commitment and effort often by skilledusers. There is therefore a need for a CAD graphing tool that reducesthe need for repetitious or tedious action by a skilled user forupdating a CAD graph drawn from complex data sets by providing uniquefeatures catered to the efficient production of CAD graphs.Additionally, there is a need for a graphing tool that is capable ofsurmising or deriving a dataset approximating a data set from aninherited or received graph image. Further, there is a need for a CADtool that automatically draws a CAD graph from an input data set, that aallows the user to update the underlying dataset of a CAD graph andresults in an automatic update of the graph itself, that allows quick,automatic re-rendering or redrawing of a CAD graph when the underlyingdata is edited directly, and that allows a user to perform quick andintuitive actions like scaling, translating, quadrant control, rangecontrol, point marking, and smoothening of a CAD graph produced fromunderlying data.

In a number of embodiments, a CAD graph plotter and replicator tool maydeliver a fast, accurate, and dynamically adjustable CAD graph that canbe updated easily in real time when new data is introduced or extantdata is updated. Features like scaling, point marking, point addition,smoothening, display of grid lines, range control and quadrant controlmay be included to aid the user in generating the graph efficiently. Thetool may also give the user to control line thickness, color, type,legends and decimal points in axis, among other features.

One embodiment provides a CAD graph plotter and replicator toolincluding an input-output interface, a memory, and an electronicprocessor coupled to the input-output interface and the memory. In thisembodiment, the electronic processor is configured to: identify firstand second outermost data points from a set of data points. Theelectronic processor deduces graph parameters based upon the firstoutermost data point and second outermost data point, and determines arelative position of each data point from the set of data points withina graph bounded by the graph parameters. A contextualized set of datapoints for representation on a scalable graph is generated by theelectronic processor, and scalable 2d graphical representations of thecontextualized set of data points is drawn by the electronic processoron a 2d scalable graph.

Another embodiment provides a method of producing a 2d scalable CADgraph including using an electronic processor to identify first andsecond outermost data points from a set of data points. The electronicprocessor then deduces graph parameters based upon the first outermostdata point and second outermost data point, and determines a relativeposition of each data point from the set of data points within a graphbounded by the graph parameters. Finally, a contextualized set of datapoints for representation on a scalable graph is generated by theelectronic processor, and scalable 2d graphical representations of thecontextualized set of data points is drawn by the electronic processoron a 2d scalable graph.

Another embodiment provides a non-transitory, computer-readable mediumcontaining instructions that, when executed by an electronic processor,are configured to perform a set of functions including: identifyingfirst and second outermost data points from a set of data points,deducing graph parameters based upon the first outermost data point andsecond outermost data point, determining a relative position of eachdata point from the set of data points within a graph bounded by thegraph parameter, generating a contextualized set of data points basedupon the relative positions of the data points, and drawing scalable 2dgraphical representations of the contextualized set of data points on a2d scalable graph.

Other aspects of the invention will become apparent by consideration ofthe detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system incorporating a CAD graph plotterand replicator tool, according to a number of embodiments.

FIG. 2a depicts a data entry pane having data points according to anumber of embodiments.

FIG. 2b depicts a tabular input or output file having data pointsaccording to a number of embodiments.

FIG. 2c depicts a graph image having a plurality of plot lines, whichmay be replicated according to a number of embodiments.

FIG. 2d depicts a graph image having a plurality of plot lines and aplurality of axes and axis rules, which may be replicated according to anumber of embodiments.

FIG. 3a depicts a scalable two-dimensional (2d) CAD graph before itsscale is adjusted using an integrated toolbox feature of a CAD graphplotter and replicator tool.

FIG. 3b depicts a scalable 2d CAD graph after its scale is adjustedusing an integrated toolbox feature of a CAD graph plotter andreplicator tool.

FIG. 3c depicts a number of scaling and labeling features of anintegrated toolbox feature of a CAD graph plotter and replicator tool.

FIG. 4a depicts an integrated tool box feature, comprising a number oftoggles, wherein a single toggle is selected.

FIG. 4b depicts a 2d scalable CAD graph, drawn by a CAD graph plotterand replicator tool in accordance with the toggle selected in FIG. 4 a.

FIG. 5a depicts an integrated tool box feature, comprising a number oftoggles, wherein a two toggles are selected.

FIG. 5b depicts a 2d scalable CAD graph, drawn by a CAD graph plotterand replicator tool in accordance with the toggles selected in FIG. 5 a.

FIG. 6a depicts an integrated tool box feature, comprising a number oftoggles, wherein a three toggles are selected.

FIG. 6b depicts a 2d scalable CAD graph, drawn by a CAD graph plotterand replicator tool in accordance with the toggles selected in FIG. 6 a.

FIG. 7a depicts an integrated tool box feature, comprising a number oftoggles, wherein a four toggles are selected.

FIG. 7b depicts a 2d scalable CAD graph, drawn by a CAD graph plotterand replicator tool in accordance with the toggles selected in FIG. 7 a.

FIG. 8a depicts an integrated tool box feature, comprising a number oftoggles, wherein a five toggles are selected.

FIG. 8b depicts a 2d scalable CAD graph, drawn by a CAD graph plotterand replicator tool in accordance with the toggles selected in FIG. 8 a.

FIG. 9 depicts a flowchart of a method for generating a 2d scalable CADgraph, according to a number of embodiments.

DETAILED DESCRIPTION

Before any embodiments are explained in detail, it is to be understoodthat the embodiments are not limited in their application to the detailsof construction and the arrangement of components set forth in thefollowing description or illustrated in the following drawings.Embodiments are capable of other configurations and of being practicedor of being carried out in various ways.

Also, it is to be understood that the phraseology and terminology usedherein are for the purpose of description and should not be regarded aslimiting. The use of “including,” “comprising,” or “having” andvariations thereof are meant to encompass the items listed thereafterand equivalents thereof as well as additional items. Unless specified orlimited otherwise, the terms “mounted,” “connected,” “supported,” and“coupled” and variations thereof are used broadly and encompass bothdirect and indirect mountings, connections, supports, and couplings. Asused within this document, the word “or” may mean inclusive or. As anon-limiting example, if it we stated in this document that “item Z maycomprise element A or B,” this may be interpreted to disclose an item Zcomprising only element A, an item Z comprising only element B, as wellas an item Z comprising elements A and B. As used herein “line” mayrefer to a curved line as well as a straight line.

A plurality of hardware and software based devices, as well as aplurality of different structural components may be used to implementvarious embodiments. In addition, embodiments may include hardware,software, and electronic components or modules that, for purposes ofdiscussion, may be illustrated and described as if the majority of thecomponents were implemented solely in hardware. However, one of ordinaryskill in the art, and based on a reading of this detailed description,would recognize that, in at least one embodiment, the electronic basedaspects of the invention may be implemented in software (for example,stored on non-transitory computer-readable medium) executable by one ormore processors. For example, “control units” and “controllers”described in the specification can include one or more electronicprocessors, one or more memory modules including non-transitorycomputer-readable medium, one or more input/output interfaces, one ormore application specific integrated circuits (ASICs), and variousconnections (for example, a system bus) connecting the variouscomponents.

FIG. 1 is a block diagram of a system 45 incorporating a computer-aideddesign (CAD) graph plotter and replicator tool 57, according to a numberof embodiments. The system 45 includes an electronic controller 50. Theelectronic controller 50 may include a plurality of electrical andelectronic components that provide power, operation control, andprotection to the components and modules within the electroniccontroller 50. In the example illustrated, the electronic controller 50may include, among other things, an electronic processor 51 (such as aprogrammable electronic microprocessor, microcontroller, distributed orlocal multi-processor, or similar device), a memory 52 (for example,non-transitory, machine readable memory), and an input/output interface53.

The electronic processor 51 is communicatively connected to the memory52 and the input/output interface 53, and the input/output interface 53is communicatively connected to a user interface 54. In someembodiments, the memory 52 includes a data point set 55 or data pointfile 56 containing data points represented or to be represented in atwo-dimensional (2d) scalable CAD graph. The memory 52 may also includeinstructions executable to implement a CAD graph plotter and replicatortool 57. During execution by the electronic processor 51, the CAD graphplotter and replicator tool 57 may take the data point set 55 or datapoint file 56 as input. The input/output interface 53 may also obtainuser input received via the user interface 54, and provide the userinput to the electronic processor 51, for example, during the operationof the CAD graph plotter and replicator tool 57.

The user interface 54 may include, for example, one or more of akeyboard, trackpad, computer mouse, display, touchscreen, speaker,microphone, and the like. For example, as illustrated, the userinterface 54 includes an electronic display 58, which may be a liquidcrystal display, light emitting diode (LED) display, touch screendisplay, or the like. In some embodiments, the electronic display 58 isconfigured to display a scalable 2d CAD graph, as discussed in furtherdetail herein. The electronic controller 50 may be housed on the samedevice as the electronic display 58, or the electronic display 58 may bepart of a remote computing system accessible over a network such as, butnot limited to, a cloud computing service or a web service, or acombination thereof. Similarly, the memory 52 may be volatile ornon-volatile memory, or a combination thereof and may also be localaccessible or remotely accessible over a network via a cloud storageservice or data center. The electronic processor 51, in coordinationwith the memory 52 the input/output interface 53, the user interface 54,and electronic display 58 may thus be configured to implement, amongother things, the methods described herein. Functions described hereinas being performed by the CAD graph plotter and replicator tool 57should be understood to, at least in some embodiments, be performed bythe electronic processor 51 executing the CAD graph plotter andreplicator tool 57.

In a number of embodiments, the CAD graph plotter and replicator tool 57is configured to deliver a fast, accurate, and dynamically adjustable orscalable 2d CAD graph that can be updated easily in real time when newdata is introduced or extant data is updated. Features like scaling,point marking, smoothening, grid lines, range control and quadrantcontrol may be included to aid the user in generating the graphefficiently. The tool 57 may also give the user the ability to controlplot line thickness, plot line color, plot line type, plot legends, andvalue granularity in an axis rule. A 2d scalable CAD graph may compriseindividually selectable and scalable vector elements such as, but notlimited to, vector lines and shapes. In certain circumstances, the 2dscalable nature of the graph may allow for the CAD graph plotter andreplicator tool 57 to simply rescale and redraw the underlying datapoints on which a 2d scalable CAD graph is based rather than upscalingan image or re-resolving and redrawing an entire 2d graph in response toa rescaling request. The nature of the rendering engine for the CADgraph plotter and replicator tool 57 may allow for this and anyredrawing or rendering may occur via a drawing module of the CAD graphplotter and replicator tool 57.

In a number of embodiments, a CAD graph plotter and replicator tool 57takes an excel sheet, a csv file, a tabular note, or any other form oftable-format file or direct input via a graphical user interface asinput data. An interpretation module of the CAD graph plotter andreplicator tool 57 may automatically determine the organization of theinput data and deduce labels and parameter limits from the input data.In some cases, the interpretation module of the CAD graph plotter andreplicator tool 57 determines that the input data merits display onmultiple, overlapping axes. The interpretation module may also determinedata points and the plot location of each data point from the inputdata, based on the parameters of the input data itself or based uponuser specification via a graphical user interface. The CAD graph plotterand replicator tool 57 may then use CAD graphics such as, but notlimited, to vector graphics to draw a 2d scalable CAD graph from theinput data.

In a number of embodiments, a CAD graph plotter and replicator tool 57is a plugin to an existing CAD drawing suite. In a number ofembodiments, the CAD graph plotter and replicator tool 57 is astandalone software that is accessed via a desktop icon, an app icon, anexecution prompt, or any other known method of selection of directexecution of software. In a number of embodiments, the CAD graph plotterand replicator tool 57 may be a web-based product that allows input ofdata points, files, or images for 2d scalable CAD graph plotting orreplication via a server-client relationship. In some cases, a CAD graphplotter and replicator tool 57 is configured to produce a 2d scalableCAD graph within an existing CAD drawing suite or within a standaloneCAD program in accordance with the methods, features, and productsdescribed herein. This 2d scalable CAD graph may be exportable as anappropriate CAD file type for use with other CAD drawing suites orviewing software. The CAD graph plotter and replicator tool 57 may alsobe configured to facilitate the export of a 2D scalable CAD graph as anon-scalable image having a static resolution.

In a number of embodiments, the graphing tool 57 is configured toautomatically draw a 2d scalable CAD graph using scalable CAD graphicssuch as, but not limited to, vector graphics based upon a set of inputdata points. This 2d scalable CAD graph may be constructed by use of analgorithm that contextualizes the input data points by determining therelative positions of the input data points within a frame of input dataparameters deduced by the CAD graph plotter and replicator tool 57 inlight of the outermost data points along X and Y axes. In some cases,the input data parameters are also defined by user selection or inputrather than being deduced by the algorithm. In a number of embodiments,the algorithm organizes the input data points according to a scheme suchas, but not limited to, organizing the data points according toascending order of X-value, according to descending order of Y-value,according to reverse sequence of entry or appearance in input, or someother organization according to a mathematical or logical formula, andcreate a 2d scalable CAD graph by drawing scalable lines betweenneighboring data points. However, in other embodiments, thisre-organization is not performed. Each end of each line may beassociated with an underlying data point by the CAD graph plotter andreplicator tool 57. Additionally, each underlying data point may beassociated with the end of at least one 2d scalable CAD graph line. Twoneighboring scalable lines may meet at a vertex point between a firstneighboring data point and a second neighboring data point. Such avertex point in the 2d scalable CAD graph may be mathematicallyassociated with an underlying data point within the input data points.In some cases, plot lines may be drawn curved to give the 2d scalableCAD graph a smoothened appearance. The degree of smoothening effectapplied to the plot lines may be adjusted by a user via a userinterface. In some cases, any 2d scalable smoothened lines may drawnalongside the original plot lines or points. In this way, a user canreadily identify how closely the 2d scalable smoothened linesapproximate the original plot lines. Both the 2d scalable smoothenedlines and the original plot lines may both be associated with theunderlying data points.

In a number of embodiments, the 2D scalable CAD graph is editable inthat the graph itself may be modified by a user via a graphical userinterface. For example, the 2D scalable CAD graph is displayed to a uservia a graphical interface shown on the display 58. A user then edits the2d scalable CAD graph by interacting with the displayed CAD graph viathe user interface 54 by a click-and-drag action, a point-and-clickaction, keystrokes, or any other known type of electronic input via aconnected mouse, a keyboard, a trackball, a graphics drawing pad, atouchscreen, a trackpad, or any other known device or method forinteracting with a graphical user interface. The CAD graph plotter andreplicator tool 57 may mathematically relate the underlying data pointsto the 2d scalable CAD graph such that the underlying data points aremathematically manipulated in response to a user editing the displayed2d scalable CAD graph via the user interface 54. As a non-limitingexample, a user may select, via the user interface 54, a vertex in a 2dscalable CAD graph created by the products or methods described herein.The user may drag the vertex of the of the 2d scalable CAD graph tochange the appearance of the graph. This editing of a vertex of the 2dscalable CAD graph may be reflected in an automatic update ormathematical manipulation of the underlying data point associated withthe vertex. That is, the change made to the graphically representedvertex may result in a proportional change to the associated underlyingdata point. This proportional change may be according to a mathematicalrelationship between the graphical representation of the point as avertex and the representation of the underlying data point as anumerical figure within a dataset from which the 2d scalable CAD graphis drawn.

In a number of embodiments, a CAD graph plotter and replicator tool 57allows a user to manipulate a 2d scalable CAD graph associated withunderlying data points by modifying the underlying data points oradjusting the interpretation of the input data points by the CAD graphplotter and replicator tool 57. The user may be able to access theunderlying input data points from a graphical interface on theelectronic display 58 such as, but not limited t,o an integrated toolboxfeature within the CAD graph plotter and replicator tool 57. As anon-limiting example, the user may edit the numerical values of theunderlying input data points and, as a result, the 2d scalable CAD graphassociated with the underlying data points may be redrawn by the CADgraph plotter and replicator tool 57 according to a predeterminedmathematical relationship between the drawn CAD graph and the underlyingdata points. As another non-limiting example, the user may rescale the2d scalable CAD graph by using an integrated toolbox feature of the CADgraph plotter and replicator tool 57 to do so. This rescaling may occuraccording to the scalable nature of the scalable 2d CAD graph, which maybe rendered in a scalable graphical form such as, but not limited to,vector graphics, but may also occur as a result of an adjustment of themathematical relationship between the underlying data points and thedrawn, scalable 2d CAD graph. Any such adjustment may induce thescalable 2d CAD graph to be re-rendered or redrawn as appropriate by adrawing module of the CAD graph plotter and replicator tool 57. Forexample, a CAD graph plotter and replicator tool 57 may originallydetermine based upon a default scale value of one for the X Axis thateach X-value for each underlying data point should be multiplied by tento account for a data point to X Axis rule value ratio on a display, andmust also be shifted by twenty-five pixels to account for the locationof the drawn CAD graph in order to provide a proper pixel location foreach underlying data point X-value. If, in such a case, the X-axis scalevalue is changed from one to two, the mathematical relationship may bechanged to induce a multiplication of X-values in the underlying datapoints by twenty to account for a new rescaled location of the drawndata points in the rescaled 2d scalable CAD graph. A drawing module ofthe CAD graph plotter and replicator tool 57 may then redraw the 2dscalable CAD Graph according to the adjusted X-axis scale. The same maybe done for rescaling of the Y-axis.

In a number of embodiments, a CAD graph plotter and replicator tool 57is configured to take an image of a graph as input and deriveapproximated underlying data points therefrom. The CAD graph plotter andreplicator tool 57 may draw a new graph as a 2D scalable CAD graph fromthese derived underlying data points. Deriving the underlying datapoints may occur according to an extraction algorithm such as but notlimited to a known vectorization algorithm. The extraction algorithm maybe programmed to identify and contextualize the input image's axes, axesrules, and plot line or plot points. In this way, the extractionalgorithm may determine and generate appropriate underlying data pointsfor the input image based upon the location of the plot lines or pointsin relation to the axes in the image.

In a number of embodiments, a CAD graph plotter and replicator tool 57has an add point feature. A user may select an add point tool from anintegrated toolbox feature and also select a point on a scalable 2d CADgraph drawn by the CAD graph plotter and replicator tool 57 to place thenew point. The user may also directly enter coordinate values for thenew point in the add point feature within the integrated toolbox featureof the CAD graph plotter and replicator tool 57. In the former case, theCAD graph plotter and replicator tool 57 may retrieve the coordinates ofthe selected point on the scalable 2d CAD graph and translate thesecoordinates to a data point position on the scalable 2d CAD graph. Thisdata point position may be entered into the appropriate organizationalposition of a table, file, or structure in which the underlying datapoints are kept by the CAD graph plotter and replicator tool 57. The CADgraph plotter and replicator tool 57 may redraw the scalable 2d CADgraph with the inclusion of this new data point. In the case of a userdirectly entering the new data point by a coordinate value, thiscoordinate value may be translated by the CAD graph plotter andreplicator tool 57 into a data point position on the scalable 2d CADgraph. This data point position may be entered into the appropriateorganizational position of a table, file, or structure in which theunderlying data points are kept by the CAD graph plotter and replicatortool 57, and the CAD graph plotter and replicator tool 57 may redraw thescalable 2d CAD graph with the inclusion of this new data point.

In a number of embodiments, a CAD graph plotter and replicator tool 57has features for affecting the display format of the graph and that donot modify the underlying data points. For example, the CAD graphplotter and replicator tool 57 may generate a graphical interface on theelectronic display 58 for accepting user input. The graphical interfacemay include an integrated toolbox feature that contains a number oftoggles affecting a plurality of display features. The integratedtoolbox feature may include toggles for displaying or hiding particularfeatures on any scalable 2d graph produced by the CAD graph plotter andreplicator tool 57. As a non-limiting example, the integrated toolboxfeature may include toggles for showing or hiding grid lines, axisrules, plot legends, or data point intercepts. Similarly, the integratedtoolbox feature may include toggles for simply showing or hiding itemsrelated to or drawn from the underlying data points. As a non-limitingexample, the integrated toolbox feature may include toggles for showingor hiding plot points, plot lines, smoothened versions of the plotlines, and toggles to shift the positions of the axes of the 2d scalableCAD graph. As a non-limiting example, a toggle may induce the axes ofthe 2d scalable CAD graph to positions where the axes will not crossthrough the plot lines or points.

FIG. 2a depicts a data entry pane 101 a of a CAD graph plotter andreplicator tool 57. The data entry pane 101 a may be displayed on theelectronic display 58 as part of a graphical user interface generated bythe tool 57. Data points 102 a may be directly entered into the dataentry pane 101 a as input to the CAD graph plotter and replicator tool57 via the user interface 54. An X Axis label 106 a (e.g., “Pressure”)may be entered at the top of an X Axis data column 107 a. Similarly a YAxis label 104 a (e.g., “Volume”) may be entered at the top of a Y Axisdata column 105 a. The CAD graph plotter and replicator tool 57 mayextract the data points 102 a as well as the X axis label 106 a and Yaxis label 104 a from the data pane 101 a, store them in the memory 52as the data point set 55, and draw a 2d scalable CAD graph (e.g., fordisplay on the electronic display 58) having a scalable, labeled X axisand scalable, labeled Y axis based upon the data points 102 a extractedfrom the data entry pane 101 a and the X axis label 16 a and Y Axislabel 104 a. The CAD graph plotter and replicator tool 57 may also draw2d scalable representations of each of the data points 102 a in theentry pane 101 a in appropriate positions along the X and Y axis. Indoing so, the CAD graph plotter and replicator tool 57 may create a 2dscalable CAD graph of the data points 102 a. Additionally, the CAD graphplotter and replicator tool 57 may automatically draw appropriatelyspaced, numerically valued tick marks along the X and Y axis in light ofthe scale of the 2d scalable CAD graph as well as the range of the datapoints 102 a.

FIG. 2b depicts an input file 101 b containing a table 102 b of inputdata points 103 b for a 2d CAD graph plotter and replicator tool 57 toplot. The input file 101 b may be a tabular note, a csv file, an XMLfile, or any other file translatable to a table, which may be stored asthe data point file 56 in the memory 52. The CAD graph plotter andreplicator tool 57 may identify an X Axis Label 104 b and a Y Axis Label106 b at a predetermined location in the input file 101 b. In theembodiment depicted, the predetermined location for the X Axis Label 106b is at the top of the X Axis data column 105 b, while the predeterminedlocation for the Y Axis Label 108 b is at the top of the Y Axis datacolumn 107 b. The CAD graph plotter and replicator tool 57 may identifythe file type of the input file 101 b and extract the data points 103 bas well as the X axis label 104 b and Y axis label 106 b from the inputfile 101 b, saving them in the memory 52 as the data point set 55. TheCAD graph plotter and replicator tool 57 draw a 2d scalable CAD graphhaving a scalable, labeled X axis and scalable, labeled Y axis basedupon the extracted data points 103 b and the X axis label 106 b and YAxis label 108 b. The CAD graph plotter and replicator tool 57 may alsodraw 2d scalable representations of each of the data points 103 b in thetable 102 a in appropriate positions along the X and Y axis. In doingso, the CAD graph plotter and replicator tool 57 may create a 2dscalable CAD graph of the data points 103 b. Additionally, the CAD graphplotter and replicator tool 57 may automatically draw appropriatelyspaced, numerically valued tick marks along the X and Y axis in light ofthe scale of the 2d scalable CAD graph as well as the range of the datapoints 103 b.

FIG. 2c and FIG. 2d depict graph images that may be submitted as inputsto a CAD graph plotter and replicator tool 57. The graph images may bereceived via the input/output interface 53 (e.g., in the form of animage file) and stored in the memory 52. The CAD graph plotter andreplicator tool 57 may identify within a graph image 101 c, 101 d any XAxes 102 c, 102 d, and any Y Axes 103 c, 103 d. The CAD graph plotterand replicator tool 57 may replicate the identified X Axes 102 c, 102 d,and Y Axes, 103 c, 103 d with 2d scalable graphics. This replication mayinclude tick marks, values, and labels that appear on an axes within agraph image 101 c, 101 d. The graph plotter and replicator tool 57 mayalso identify plot lines 104 c, 104 d or plot points (not shown) withina graph image 101 c, 101 d. The CAD graph plotter and replicator tool 57may replicate the identified plot lines 104 c, 104 d or plot points with2d scalable graphics. Moreover, the CAD graph plotter and replicatortool 57 may replicate the identified plot lines 104 c, 104 d or plotpoints by identifying a relationship between each plot line 104 c, 104 dor plot point and any values along each of any X Axes 102 c, 102 d aswell as a relationship between each plot line 104 c, 104 d or plot pointand any values along each of any X Axes 103 c, 103 d. The CAD graphplotter and replicator tool 57 may use these identified relationships tobuild an approximated underlying data point set for a graph image 101 c,101 d. The approximated underlying data point set for the graph compiledor built by the CAD graph plotter and replicator tool 57 in light of asubmitted graph image 101 c, 101 d may be stored in the memory 52 as thedata point set 55, which, as previously noted, may be a local memory, amemory of a local server or data center, or a memory used for rapidaccess via a remote service such as a fast-access cloud or databaseservice etc. Similarly, the approximated underlying data point set 55may be used to populate an output file such as, but not limited to, atabular note, a csv file, an XML file, or any other file translatable toa table. The resulting output file may appear similar to an input file101 b described with regard to FIG. 2b . The CAD graph plotter andreplicator tool 57 may draw a 2d scalable CAD graph by using theapproximated underlying data point sent as input. In doing so, the CADgraph plotter and replicator tool 57 maintain the features of the graphimage 101 c, 101 d such as but not limited to grid lines 105 c, orstacked or multiple axes 105 d. Similarly, the CAD graph plotter andreplicator tool 57 may determine that a graph image 101 c, 101 d asoriginally drawn includes plot lines 104 c, 104 d or plot points. TheCAD graph plotter and replicator tool 57 may reproduce this feature ofthe original graph image 101 c, 101 d by drawing plot lines 104 c, 104 dor plot points in the 2d scalable CAD graph produced in light of thegraph image 101 c, 101 d. In some cases, however, the CAD graph plotterand replicator tool 57 may be programmed to not reproduce such featuresby default.

Referring now to FIG. 3a and FIG. 3c , FIG. 3a depicts a scalable 2d CADgraph 201 a before its scale is adjusted using an integrated toolboxfeature 212 c (see FIG. 3c ) of the CAD graph plotter and replicatortool 57. The 2d scalable CAD graph may be drawn by the CAD graph plotterand replicator tool 57 from a set of input data points 102 a, 103 b andmay comprise a number of scalable lines 202 a and points 203 a. In somecases, the input data points 102 a, 103 b is derived from an input graphimage 101 c, 101 d. The 2d CAD graph 201 a may comprise a title 204 athat may be derived from a file containing the input data points 102 a,103 b, or input directly by a user via an entry pane 101 a or theintegrated toolbox feature 212 c in a settings pane 213 c shown in FIG.3c . The 2d CAD graph 201 a may also comprise a scalable X axis 205 aand a scalable Y axis 206 a. The X axis 205 a may be drawn by the CADgraph plotter and replicator tool 57 with an X axis rule 207 a, and theY axis 206 a may be drawn with a scalable Y axis rule 208 a. The numberof ticks 209 a on the X axis rule 205 a may be assumed by aninterpretation module of the tool 57 as part of contextualizing the setof input data points 102 a, 103 b. The number of ticks 209 a on the Xaxis rule 205 a may also be set by a user of the CAD graph plotter andreplicator tool 57 via an integrated toolbox feature 212 c of the CADgraph plotter and replicator tool 57. Similarly, the number of ticks 210a on the Y axis rule 206 a may be assumed by an interpretation module aspart of contextualizing the set of input data points 102 a, 103 b or setby a user of the CAD graph plotter and replicator tool 57 via anintegrated toolbox feature 212 c of the CAD graph plotter and replicatortool 57. The integrated toolbox feature 212 c may include a scale pane214 c comprising user inputs such as an axis scale slider 215 c foradjusting the scale of a single axis, a scale ratio dropbox 216 c forselecting a ratio to apply to the relative scaling of the X axis 205 ato the Y axis 206 a, or a single axis scale entry space 217 c thatallows a user to precisely input a desired scale for a single axis. Eachof these scaling features may be used to change the scale of thescalable 2d graph 201 a.

Referring now to FIG. 3b , a scalable 2d CAD graph 201 b is shown with a150% rescaling of the X axis 205 a. The 150% scaling of the X axis 205 avia the axis scale slider 215 c in the scale pane 214 c of theintegrated toolbox feature 212 c of the CAD graph plotter and replicatortool 57 has induced a drawing module of the CAD graph plotter andreplicator tool 57 to re-render or redraw the 2d CAD graph 201 a asrescaled 2d CAD graph 201 b including a rescaled X axis 205 b and X axisrule 207 b, rescaled plot lines 202 b, and plot points 203 b withrescaled placement along the X axis 205 b.

Referring now to FIG. 4a and FIG. 4b , a show items pane 301 a withinthe integrated toolbox feature 212 c may allow a user to show or hidepoints, rules, a grid, or a plot line in the associated 2d CAD graph 301b via a toggle array 302 a. The selection or deselection of any of thetoggles in the toggle array 302 a may induce the CAD graph plotter andreplicator tool 57 to redraw the 2d CAD graph including or excludingthese features. In the embodiments shown in FIGS. 4a, 4b , only the showpoints toggle 304 a from the toggle array 302 a has been selected, thusin the embodiments shown, the 2d CAD graph 301 b is drawn by a CAD graphplotter and replicator tool 57 from underlying data points 102 a, 103 bin 2d scalable graphics with only plot points 305 b, a chart title 306b, an X Axis 307 b, an X Axis label. 308 b, a Y Axis 309 b, a Y Axislabel 310 b, and no rules on the X Axis 306 b or Y Axis 307 b, no gridlines, and no plot lines.

Referring now to FIG. 5a and FIG. 5b , a show items pane 401 a withinthe integrated toolbox feature 212 c is again depicted in relation to a2d scalable CAD graph 401 b drawn by a CAD graph plotter and replicatortool 57 from underlying data points 102 a, 103 b. In the embodimentsshown in FIGS. 5a, 5b , the show points toggle 404 a as well as the showrules toggle 403 a from the toggle array 402 a have been selected, thusin the embodiments shown, the 2d CAD graph 401 b is drawn by a CAD graphplotter and replicator tool 57 from underlying data points 102 a, 103 bin 2d scalable graphics with plot points 405 b, an X Axis 406 b, an XAxis rule 411 b, a Y Axis 407 b, a Y Axis rule 412 b, a chart title 413b, an X axis label 408 b, a Y axis label 410 b, but still no grid linesor plot lines. In the embodiments shown, it can be seen that a rangemodification pane 412 b of the toolbox feature 212 c may be used tolimit or extend the range of the drawn, scalable 2d plot points 405 b aswell as limiting or extending the range of the drawn, scalable 2d X Axis406 b and X Axis rule 411 b, and the drawn, scalable 2d Y Axis 407 b andY Axis rule 412 b.

Referring now to FIG. 6a and FIG. 6b , a show items pane 501 a withinthe integrated toolbox feature 212 c is once more depicted in relationto a 2d scalable CAD graph 501 b drawn by a CAD graph plotter andreplicator tool 57 from underlying data points 102 a, 103 b. In theembodiments shown in FIGS. 6a, 6b , the show points toggle 504 a as wellas the show rules toggle 503 a and show line toggle 513 a from thetoggle array 502 a have been selected, thus in the embodiments shown,the 2d CAD graph 501 b is drawn by a CAD graph plotter and replicatortool 57 from underlying data points 102 a, 103 b in 2d scalable graphicswith plot points 505 b, plot lines 514 b, an X Axis 506 b, an X Axisrule 511 b, a Y Axis 507 b, a Y Axis rule 512 b, a chart title 513 b, anX axis label 508 b, a Y axis label 510 b, but no grid lines. In theembodiments shown, it can be seen that a range modification pane 512 bof the toolbox feature 212 c may be used to limit or extend the range ofthe drawn, scalable 2d plot points 405 b and drawn, scalable 2d plotlines 514 b, as well as limiting or extending the range of the drawn,scalable 2d X Axis 506 b and X Axis rule 511 b, and the drawn, scalable2d Y Axis 507 b and Y Axis rule 512 b.

Referring now to FIG. 7a and FIG. 7b , a show items pane 601 a withinthe integrated toolbox feature 212 c is depicted in relation to a 2dscalable CAD graph 601 b drawn by a CAD graph plotter and replicatortool 57 from underlying data points 102 a, 103 b. In the embodimentsshown in FIGS. 7a, 7b , the show points toggle 604 a as well as the showrules toggle 603 a and show line toggle 613 a from the toggle array 602a have been selected, thus in the embodiments shown, the 2d CAD graph601 b is drawn by a CAD graph plotter and replicator tool 57 fromunderlying data points in 2d scalable graphics with plot points 605 b,plot lines 614 b, an X Axis 606 b, an X Axis rule 611 b, a Y Axis 607 b,a Y Axis rule 612 b, a chart title 609 b, an X axis label 608 b, a Yaxis label 610 b, but no grid lines. In the embodiments shown, a showsmoothened toggle 614 a is selected. Selection of the show smoothenedtoggle 614 b may induce the CAD graph plotter and replicator tool 57 todraw a smoothened approximation 615 b of underlying data points 102 a,103 b in 2d scalable graphics using curved lines. A smoothenedapproximation 615 b may be configurable to be a more smoothened or lesssmoothened approximation 615 b of the underlying data points 102 a, 103b by use of a degree input 616 a.

Referring now to FIG. 8a and FIG. 8b , a show items pane 701 a withinthe integrated toolbox feature 212 c is depicted in relation to a 2dscalable CAD graph 701 b drawn by the CAD graph plotter and replicatortool 57 from underlying data points 102 a, 103 b. In the embodimentsshown in FIGS. 8a, 8b , the show points toggle 704 a as well as the showrules toggle 703 a, show line toggle 713 a, and show grid toggle 717 afrom the toggle array 702 a have been selected, thus in the embodimentsshown, the 2d CAD graph 701 b is drawn by a CAD graph plotter andreplicator tool 57 from underlying data points 102 a, 103 b in 2dscalable graphics with plot lines 714 b, an X Axis 706 b, an X Axis rule711 b, a Y Axis 707 b, a Y Axis rule 712 b, a chart title 706 b, an Xaxis label 708 b, a Y axis label 710 b, and grid lines 718 b. As can beseen from FIGS. 8a, 8b , a show grid toggle 717 a may be selected, whichmay induce the CAD graph plotter and replicator tool 57 to draw gridlines 718 b in 2d scalable graphics on the 2d scalable CAD graph 701 b.The grid lines 718 b may coincide with tick marks 719 b, 720 b on the Xor Y axis 706 b, 707 b. A number of editable grid line options 720 a maybe available in the integrated toolbox feature 212 c such as but notlimited to a line color option, a line font option, or a line widthoption. The editing of the grid line options 720 a may induce the CADgraph plotter and replicator tool 57 to redraw the 2d CAD graph 701 baccording to the grid line options 720 a selected.

As should be apparent from the above description, each of the graphs,panes, and other elements in FIGS. 3a through 8b may be generated by theelectronic processor 51 (e.g., executing the tool 57) and displayed, forexample, on the electronic display 58 by the electronic processor 51 viathe input/output interface 53. Additionally, the electronic processor 51(e.g., executing the tool 57) is configured to receive the various userinputs described with respect to FIGS. 3a through 8b (e.g., toggleinputs, numerical inputs, drop down menu selections, slider drags, andthe like) via the user interface 54, such as via the display 58 (e.g.,when the display 58 takes the form of a touch screen display) a mouse,keyboard, or other elements making up the user interface 54.

Referring now to FIG. 9, a flowchart 900 for generating a 2d scalableCAD graph by the CAD graph plotter and replicator tool 57 executed bythe electronic processor 51, according to a number of embodiments, isshown. The flowchart 900 is described with respect to the system 100 ofFIG. 1; however, in some embodiments, the flowchart is implemented byother systems.

At block 905, the electronic processor 51 identifies a first outermostdata point from a set of data points. As discussed in further detailherein, the set of data points may be received by the electronicprocessor 51 via the input/output interface 53 from an external source,may be received from the memory 52, or a combination thereof. Theelectronic processor 51 may identify the first outermost data point byiterating through each data point in the set of data points to identifya data point having a coordinate associated with a first axis having thelargest absolute value. The coordinate having the largest absolute valuemay thus be identified as belonging to a data point being farthest froma graph origin along the first axis, which may be the first outermostdata point.

At block 910, the electronic processor 51 identifies a second outermostdata point from the set of data points. The electronic processor 51 mayidentify the second outermost data point by again iterating through eachdata point in the set of data points to identify a data point having acoordinate associated with a second axis having the largest absolutevalue. The coordinate having the largest absolute value may thus beidentified as belonging to a data point being farthest from a graphorigin along the second axis, which may be the second outermost datapoint. In some cases, the electronic processor 51 may be configured toidentify both the first outermost data point and the second outermostdata point in a single iteration through each data point. This may beaccomplished in a number of ways such as, but not limited to, anexamination of both coordinates of each data point and performing aconditional assignment of the coordinate value to a respective variablefor each axis based upon the absolute value of the coordinate associatedwith each axis. In some embodiments, another sort algorithm is used toaccomplish the same goal.

At block 915, the electronic processor 51 deduces graph parameters basedupon the first outermost data point and second outermost data point. Theelectronic processor 51 may deduce graph parameters by using thecoordinates of the identified outermost first and second data points todetermine a frame for the graph to be drawn. Specifically, theelectronic processor may identify a first outermost coordinate for thefirst outermost data point, and a second outermost coordinate for thesecond outermost data point, and use the first and second outermostcoordinates as a minimum relative length and width of the graph to bedrawn. A first and second axis of the graph may be drawn by theelectronic processor 51 on this basis to form a graphing frame. In thisway, the electronic processor 51 may ensure that every point in the datapoint set is included by default and no data point is drawn outside ofthe graphing frame created by the first and second axis. In some cases,graph parameters are entered by a user via the input-output interface53. In such cases, the electronic processor 51 may use the graphparameters input by the user as the graph parameters.

At block 920, the electronic processor 51 determines a relative positionof each data point from the set of data points within a graph bounded bythe graph parameters. By determining the relative positions, theelectronic processor 51 generates a contextualized set of data pointsfor representation on a scalable graph. To determine the relativeposition of each data point, the electronic processor 51 may determinewhere each data point from the set of data points lies relative to thefirst and second axis, within the graphing frame formed by the first andsecond axis by determining a new, scaled coordinate system for the setof data points based upon the first and second axis. Upon determinationof the new coordinate system, the electronic processor may determine thepositions of each data point from the set of data points. These newlydetermined positions may be used by the electronic processor 51 ascontextualized relative positions for each data point when drawingscalable 2d scalable representations of each data point on a 2d scalablegraph at block 925.

At block 925, the electronic processor 51 draws scalable 2d graphicalrepresentations of the contextualized set of data points on a 2dscalable graph. The electronic processor 51, using the determinedrelative positions of the data points within the graphing frame formedby the first and second axis, may begin rendering 2d graphicalrepresentations of each data point for which a relative position wasdetermined. These 2d graphical representations may be interpreted by theelectronic display 58 and may be displayed in accordance with aresolution of the electronic display 58 as well as a viewing zoom levelwithin the tool 57 that is being used by the electronic processor 51 tomake such representations. In some cases, the 2d scalable graph is savedin memory 52, or saved as a file for later access. The 2d scalable graphmay also be output to a remote or external device in any format such as,but not limited to, a file or an image via input-output interface 53.

In some embodiments, the electronic processor 51 receives user input viathe user interface 54 indicating request for a rescaling operation,which may be received by the CAD graph plotter and replicator tool 57.In response, this request may be handled by the electronic processor 51as described in the description of FIGS. 3a, 3b, and 3c . Duringoperation of the tool 57 (e.g., while the 2d scalable graph is beingdisplayed), the electronic processor 51 may also receive user input viathe user interface 54 indicating a request for a show points operation.In response, this request may be handled by the electronic processor 51as described in the description of FIGS. 4a and 4b . Similarly, theelectronic processor 51 may receive a user request for a show rulesoperation via the user interface 54. In response, this request may behandled by the electronic processor 51 as described in the descriptionof FIGS. 5a and 5b . The electronic processor 51 may also receive userinput via the user interface 54 indicating a request for a show lineoperation. In response, this request may be handled by the electronicprocessor as described in the description of FIGS. 6a and 6b . Inadditional embodiments, the electronic processor 51 may also receiveuser input via the user interface 54 indicating request for a showsmoothened operation. In response, this request may be handled by theelectronic processor 51 as described in the description of FIGS. 7a and7b . Still further, the electronic processor 51 may receive user inputvia the user interface 54 indicating request for a show grid linesoperation. In response, this request may be handled by the electronicprocessor as described in the description of FIGS. 8a and 8b . Any ofthese requests, and additional requests may be received and handledsimultaneously.

As noted above, at the outset of the flowchart 900, the set of datapoints may be received by the electronic processor 51. In someembodiments, to obtain the set of data points, the electronic processor51 extracts a set of data points and axis labels from a data entry panein a user interface, as described above (see, e.g., FIG. 2a ). Theelectronic processor 51 may read the data points and axis labelsdirectly from the data entry pane and utilize them in the drawingprocess, or may extract the data points and axis labels from the dataentry pane and store them in memory for access at a later time. In otherembodiments, the electronic processor 51 may read data points from aninput file by first identifying the input file time, as described above(see, e.g., FIG. 2b ). In still other embodiments, to obtain the set ofdata points, the electronic processor 51 extracts the set of data pointsbased on a graph image (see, e.g., FIGS. 2c and 2d ). As discussed infurther detail above, the extraction includes identifying a first axisand a second axis within the graph image, and identifying a graph plotwithin the graph image. As also discussed above, the extraction furtherincludes correlating the graph plot to the first axis and second axis ata plurality of locations along the graph plot; and generating a datapoint for each location from the plurality of locations at which thegraph plot was correlated to the first and second axis.

Various features and advantages of the invention are set forth in thefollowing claims.

What is claimed is:
 1. A CAD graph plotter and replicator toolcomprising: an input-output interface; a memory; an electronic processorcoupled to the input-output interface and the memory, the electronicprocessor configured to: identify a first outermost data point from aset of data points, the outermost data point being a data point farthestfrom a graph origin along a first axis; identify a second outermost datapoint from the set of data points, the outermost data point being a datapoint farthest from the graph origin along a second axis; deduce graphparameters based upon the first outermost data point and secondoutermost data point; and determine a relative position of each datapoint from the set of data points within a graph bounded by the graphparameters, thereby generating a contextualized set of data points forrepresentation on a scalable graph; and draw scalable 2d graphicalrepresentations of the contextualized set of data points on a 2dscalable graph.
 2. The CAD graph plotter and replicator tool of claim 1wherein the electronic processor is configured to produce thecontextualized set of data points by construing data points that arenumerically adjacent along the first axis as neighboring data points,and wherein the electronic processor is further configured to drawscalable 2d lines between each of the neighboring data points.
 3. TheCAD graph plotter and replicator tool of claim 1 wherein the electronicprocessor is configured to produce the contextualized set of data pointsby construing data points that are sequentially adjacent within theinput data points as neighboring data points, and wherein the electronicprocessor is further configured to draw scalable 2d lines between eachof the neighboring data points.
 4. The CAD graph plotter and replicatortool of claim 1 wherein the input-output interface is coupled to adisplay configured to render a graphical user interface including atoolbox configured to change the manner in which the 2d scalable CADgraph is displayed in response to user input.
 5. The CAD graph plotterand replicator tool of claim 4 wherein the electronic processor isconfigured to adjust a scale of the first axis or second axis inresponse to an input received via the toolbox.
 6. The CAD graph plotterand replicator tool of claim 4 wherein the electronic processor isconfigured to adjust a ratio of a first scale of the first axis to asecond scale of the second axis in response to an entry of a numericalratio via the toolbox.
 7. The CAD graph plotter and replicator tool ofclaim 4 wherein the electronic processor is configured to induce thedisplay to show or hide grid lines, plot lines, axis rules, or plotpoints in response to a selection or deselection of an associated togglein the toolbox.
 8. The CAD graph plotter and replicator tool of claim 1wherein the electronic processor is further configured to extract theset of data points based on a graph image by: identifying a first axisimage and a second axis image within the graph image; identifying agraph plot within the graph image; correlating the graph plot to thefirst axis image and second axis image at a plurality of locations alongthe graph plot; and generating a data point for each location from theplurality of locations at which the graph plot was correlated to thefirst and second axis images.
 9. The CAD graph plotter and replicatortool of claim 4 wherein the electronic processor is configured toproduce a smoothened plot approximation of the contextualized datapoints using a curve in response to a selection or deselection of anassociated toggle in the toolbox.
 10. A method of producing a 2dscalable CAD graph comprising: identifying, by an electronic processor,a first outermost data point from a set of data points, the outermostdata point being a data point farthest from a graph origin along a firstaxis; identifying, by the electronic processor, a second outermost datapoint from the set of data points, the outermost data point being a datapoint farthest from the graph origin along a second axis; deducing, bythe electronic processor, graph parameters based upon the firstoutermost data point and second outermost data point; and determining,by the electronic processor, a relative position of each data point fromthe set of data points within a graph bounded by the graph parameters,thereby generating a contextualized set of data points forrepresentation on a scalable graph; and drawing, by the electronicprocessor, scalable 2d graphical representations of the contextualizedset of data points on a 2d scalable graph.
 11. The method of claim 10further comprising reading, by the electronic processor, the set of datapoints from an input file.
 12. The method of claim 10 further comprisingextracting, by the electronic processor, the set of data points based ona graph image.
 13. The method of claim 12 wherein extracting, by theelectronic processor, the set of data points based on a graph imageincludes: identifying a first axis image and a second axis image withinthe graph image; identifying a graph plot within the graph image;correlating the graph plot to the first axis image and second axis imageat a plurality of locations along the graph plot; and generating a datapoint for each location from the plurality of locations at which thegraph plot was correlated to the first and second axis images.
 14. Themethod of claim 13 wherein the quantity of locations at which the graphplot is correlated to the first axis image and second axis image isselectable by a user via a user interface.
 15. The method of claim 10further comprising: drawing, by the electronic processor, a 2d scalablefirst axis to fit the contextualized set of data points within the graphbounded by the graph parameters, and drawing, by the electronicprocessor, a 2d scalable second axis to fit the contextualized set ofdata points within the graph bounded by the graph parameters.
 16. Themethod of claim 12 wherein drawing, by the electronic processor, thescalable 2d graphical representations of the contextualized set of datapoints on the 2d scalable graph comprises drawing a scalable 2d linebetween the relative positions of two data points from thecontextualized set of data points.
 17. The method of claim 12 whereindrawing, by the electronic processor, the scalable 2d graphicalrepresentations of the contextualized set of data points on the 2dscalable graph comprises drawing a 2d scalable shape at the relativeposition of a data point from the contextualized set of data points. 18.A non-transitory, computer-readable medium containing instructions that,when executed by an electronic processor, are configured to perform aset of functions, the set of functions comprising: identifying a firstoutermost data point from a set of data points, the outermost data pointbeing a data point farthest from a graph origin along a first axis;identifying a second outermost data point from the set of data points,the outermost data point being a data point farthest from the graphorigin along a second axis; deducing graph parameters based upon thefirst outermost data point and second outermost data point; determininga relative position of each data point from the set of data pointswithin a graph bounded by the graph parameters, thereby generating acontextualized set of data points for representation on a scalablegraph; and drawing scalable 2d graphical representations of thecontextualized set of data points on a 2d scalable graph.
 19. Thenon-transitory, computer-readable medium of claim 18, further comprisinginstructions that, when executed by an electronic processor, areconfigured to perform a function of reading the set of data points froman input file.
 20. The non-transitory, computer-readable medium of claim18, further comprising instructions that, when executed by an electronicprocessor, are configured to perform a function of extracting the set ofdata points based on a graph image.